Aerial vehicle control using ballast

ABSTRACT

A system for controlling an aerial vehicle includes an aerial vehicle, a ballast coupled to the aerial vehicle, a server including a processor and a memory, and a wireless communication link that communicatively couples the aerial vehicle and the server. the memory stores instructions that, when executed by the processor, cause the server to receive weather data, determine, based on the weather data, that the aerial vehicle is experiencing, or is expected to experience, weather that satisfies a predetermined criterion, and cause the aerial vehicle to decouple at least a portion of the ballast based on a result of the determination.

BACKGROUND

Some aerial vehicles float at a preferred altitude by using a trappedlifting gas to maintain a pressure differential between a pressureinside the aerial vehicle and an ambient air pressure outside the aerialvehicle. The pressure differential, however, is susceptible to ambientweather conditions. In adverse weather conditions, for example, theinternal temperature and pressure of the aerial vehicle drop and, ifthey drop low enough, the aerial vehicle may enter thermal runaway andbegin to descend below the preferred altitude. In some instances,conventional aerial vehicle lift systems, without more, may beinsufficient to compensate for significant changes in weatherconditions. As such, advancements in aerial vehicle pressuredifferential management could be beneficial in improving theirresilience in the face of adverse weather conditions.

SUMMARY

In one aspect, this disclosure describes a system for controlling anaerial vehicle. The system includes an aerial vehicle, a ballast coupledto the aerial vehicle, and a server communicatively coupled to theaerial vehicle by means of a wireless communication link, the serverincluding a processor and a memory. The memory stores instructionswhich, when executed by the processor, cause the server to receiveweather data, determine, based on the weather data, that the aerialvehicle is experiencing, or is expected to experience, weather thatsatisfies a predetermined criterion, and cause the aerial vehicle todecouple at least a portion of the ballast based on a result of thedetermination.

In embodiments, the determining that the aerial vehicle is experiencing,or is expected to experience, weather that satisfies the predeterminedcriterion includes determining that a temperature metric included in theweather data is below a predetermined threshold.

In embodiments, the instructions, when executed by the processor,further cause the server to determine the portion of the ballast todecouple based on an amount by which the temperature metric is below thepredetermined threshold.

In embodiments, the determining of the portion of the ballast todecouple is further based on an altitude of the aerial vehicle.

In embodiments, the predetermined threshold is determined based on analtitude of the aerial vehicle and an amount of gas inside the aerialvehicle.

In embodiments, the determining that the aerial vehicle is experiencing,or is expected to experience, weather that satisfies the predeterminedcriterion includes determining that a temperature of gas inside theaerial vehicle is expected to cause the aerial vehicle to experiencezero superpressure.

In embodiments, determining that the temperature of gas inside theaerial vehicle is expected to cause the aerial vehicle to experiencezero superpressure includes determining that a level of infraredradiation experienced at an altitude of the aerial vehicle is expectedto cause a temperature of the gas inside the aerial vehicle to dropbelow a predetermined threshold.

In embodiments, the predetermined threshold is determined based on anamount of gas inside the aerial vehicle.

In embodiments, the instructions, when executed by the processor,further cause the server to determine the portion of the ballast todecouple based on an amount of gas inside the aerial vehicle.

In embodiments, the determining of the portion of the ballast todecouple is further based on the altitude of the aerial vehicle.

In embodiments, the instructions, when executed by the processor,further cause the server to determine whether the aerial vehicle isexpected to recover from experiencing zero superpressure.

In embodiments, the instructions, when executed by the processor,further cause the server to determine an altitude to which the aerialvehicle is expected to descend while the aerial vehicle experiences zerosuperpressure.

In embodiments, the instructions, when executed by the processor,further cause the server to determine whether the altitude to which theaerial vehicle is expected to descend while the aerial vehicleexperiences zero superpressure is above a minimum altitude.

In embodiments, the instructions, when executed by the processor,further cause the server to cause the aerial vehicle to descend to theground prior to experiencing zero superpressure in response to adetermination that the altitude to which the aerial vehicle is expectedto descend while the aerial vehicle experiences zero superpressure isnot above the minimum altitude.

In embodiments, the weather data is received from an external source.

In embodiments, the weather data is received from a sensor coupled tothe aerial vehicle.

In embodiments, the aerial vehicle includes a balloon.

In embodiments, the ballast is composed of a granular substance.

In another aspect, the present disclosure describes a method forcontrolling an aerial vehicle. The method includes receiving weatherdata, determining, based on the weather data, that an aerial vehicle isexperiencing, or is expected to experience, weather that satisfies apredetermined criterion, and causing the aerial vehicle to decouple atleast a portion of a ballast coupled to the aerial vehicle based on aresult of the determination.

In another aspect, the present disclosure describes a non-transitorycomputer-readable storage medium storing instructions which, whenexecuted by a processor, cause a computing device to receive weatherdata, determine, based on the weather data, that an aerial vehicle isexperiencing, or is expected to experience, weather that satisfies apredetermined criterion, and cause the aerial vehicle to decouple atleast a portion of a ballast coupled to the aerial vehicle based on aresult of the determination.

BRIEF DESCRIPTION OF THE DRAWINGS

Various aspects and features of the present systems and methods forcontrolling an aerial vehicle are described herein below with referencesto the drawings, wherein:

FIG. 1 is a schematic diagram of an illustrative aerial vehicle system,in accordance with an embodiment of the present disclosure;

FIG. 2 is a schematic diagram showing additional aspects of the aerialvehicle system of FIG. 1, in accordance with an embodiment of thepresent disclosure;

FIG. 3 is a schematic block diagram of an illustrative embodiment of acomputing device that may be employed in various embodiments of thepresent system, for instance, as part of the system or components ofFIG. 1 or 2, in accordance with an embodiment of the present disclosure;

FIGS. 4A and 4B (collectively, FIG. 4) are a flowchart showing anillustrative method for controlling an aerial vehicle from theperspective of a computing device of FIG. 1, in accordance with anembodiment of the present disclosure; and

FIG. 5 is a flowchart showing an illustrative method for controlling anaerial vehicle from the perspective of the aerial vehicle of FIG. 1, inaccordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION

The present disclosure is directed to systems and methods forcontrolling vertical movement of an aerial vehicle using a combinationof an air-gas lift mechanism and a ballast. In one aspect, the systemsand methods of the present disclosure enable an aerial vehicle tocompensate for changes in ambient weather conditions by adjusting theair-gas lift mechanism and/or decoupling ballast to effect a verticalmaneuver and maintain a desired pressure differential, thereby ensuringsafe operation of the aerial vehicle, even in the face of adverseweather. In some examples, the systems and methods of the presentdisclosure facilitate maneuvers that enable the aerial vehicle to evadeadverse weather that might otherwise prevent the aerial vehicle fromremaining airborne, thereby extending the operational airborne lifetimeof the aerial vehicle. The systems and methods of the presentdisclosure, in some aspects, enable a control system of an aerialvehicle to determine, based on predicted and/or detected weatherconditions, whether the aerial vehicle will be able to maintain a safealtitude during flight. The control system of the aerial vehicle mayfurther determine whether the aerial vehicle has sufficient lifting gasand/or ballast remaining to maintain a safe altitude during predictedweather conditions, and cause the aerial vehicle to make a controlleddescent to the ground if it is determined that the aerial vehicle doesnot have sufficient lifting gas and/or ballast remaining to maintain thesafe altitude.

While various types and forms of aerial vehicles are envisioned by thepresent disclosure, including balloons, dirigibles, blimps, othervehicles that maintain altitude at least in part by using buoyancy,and/or the like, the present disclosure will use a superpressure balloonas an illustrative aerial vehicle. Superpressure balloons are designedto float at an altitude in the atmosphere where the density of theballoon system is equal to the density of the atmosphere. Higheratmospheric levels have lower density, and lower atmospheric levels havehigher density. On the other hand, the balloon's density corresponds tothe mass of the balloon system (including everything coupled to it)divided by the total volume of the balloon. Additionally, for asuperpressure balloon to float, the pressure inside the balloon must begreater than the pressure outside the balloon (referred to hereinbelowas the “ambient pressure”) such as to generate a force pushing outwardon the balloon's structure to retain the balloon's volume at a roughlyconstant level. If the pressure inside the balloon is not greater thanthe pressure outside the balloon, the volume of the balloon willcontract and the density of the balloon system will increase, thuscausing the balloon to lose altitude and drop to an atmospheric levelwhere the balloon system again has the same density as the surroundingair. This condition is referred to hereinbelow as the balloonexperiencing “zero superpressure.”

The mass of the balloon is adjustable by way of an altitude controlsystem (ACS) configured to pump a gas, such as air, into the balloon andout of the balloon, as described below. Thus, the density of theballoon, and correspondingly the altitude at which the balloon willfloat, is adjustable, at least to some extent, by way of the ACS. Insome instances, a balloon experiencing zero superpressure will losealtitude but remain afloat at a lower atmospheric level where thedensity of the balloon system and the density of the surrounding air isagain matched, i.e., the balloon would regain superpressure at thatlower atmospheric level. During severe weather conditions, for exampleduring severely cold ambient temperatures and/or in conditions whereupwelling infrared energy from the surface of the Earth is obstructed bysevere cloud cover, the air inside the balloon may compress by such alarge amount that the volume of the balloon can no longer be maintained,and the density of the balloon system increases beyond a level where theballoon is able to stay afloat at a safe altitude. Such situations arereferred to hereinbelow as a “thermal runaway,” and this may cause theballoon system to drop below a safe altitude or even all the way to theground. In such situations where the air inside the balloon is colderthan the ambient air temperature, the ACS may be used to decrease theamount of gas inside the balloon (e.g., decrease an amount of air insideballonets) to decrease the mass and density of the balloon system torepressurize and the balloon to float at a higher altitude.

The volume of any given quantity (e.g., a mole) of gas depends in parton the temperature of the gas. For example, assuming a pressure of thegas remains constant, increasing the temperature of the gas causes thevolume of the gas to expand. Similarly, assuming the pressure of the gasremains constant, decreasing the temperature of the gas causes thevolume of the gas to contract. This is taken into consideration whendetermining the amount of lifting gas needed to maintain superpressurein a balloon, because if the temperature of the lifting gas isdecreased, the volume of the lifting gas will contract, and thus morelifting gas will be needed to maintain superpressure in the balloon. Thepressure inside a balloon, or inside the portion of a balloon occupiedby a lifting gas, can be determined according to the laws ofthermodynamics, such as by using the ideal gas law, i.e., the formulaPV=nRT, where P is the pressure inside the portion of the balloonoccupied by a lifting gas (measured in Pascals, for example), n is theamount of lifting gas inside the balloon (measured in moles, forexample), R is a constant (for this example, 8.3144621Joules/(moles*Kelvin), T is the absolute temperature of the lifting gasinside the balloon (measured in units Kelvin, for example) and V is thevolume of the portion of the balloon (measured in cubic meters, forexample) occupied by the lifting gas. By solving for the variousvariables in this formula, the pressure of the lifting gas inside theballoon, the amount of gas inside the balloon, the volume of theballoon, and/or the temperature of the gas inside the balloon may becalculated for various temperatures, pressures, and/or amounts of gas.The altitude at which the balloon floats depends the volume of theballoon and the mass of the total balloon system temperature of the airinside the balloon, which causes the air inside the balloon expand orcompress, thereby increasing or decreasing the density of the balloonsystem. The ambient pressure at a particular altitude varies day to dayand based on location due to differences in the density of theatmosphere. The ambient pressure at a particular altitude may bedetermined based on barometric measurements, and/or may be calculatedbased various models of atmospheric pressure, such as, for example, theInternational Standard Atmosphere model. Thus, the altitude at which theballoon will float may also be calculated based on the above-notedformula by first solving for the temperature of the air inside theballoon, determining, based on the temperature of the air inside theballoon, whether the pressure of the air inside the balloon issufficient to maintain the balloon at maximum volume (i.e. will theballoon maintain superpressure), and then calculating the correspondingaltitude at which the density of the balloon system will be equal to theambient air density.

With reference to FIG. 1, an illustrative aerial vehicle control system100 includes an aerial vehicle 102, one or more computing devices 104,and one or more data sources 106, not drawn to scale. The aerial vehicle102 and the computing devices 104 are communicatively coupled to oneanother by way of a wireless communication link 108, and the computingdevices 104 and the data sources 106 are communicatively coupled to oneanother by way of wired and/or wireless communication link 110. In someaspects, the aerial vehicle 102 is configured to be launched into andmoved about the atmosphere, and the computing devices 104 cooperate as aground-based distributed array to perform their functions describedherein. The data sources 106 may include airborne data sources, such asairborne weather balloons, additional airborne aerial vehicles 102,and/or the like, and/or ground-based data sources, such as publiclyavailable and/or proprietary databases, examples of which are the GlobalForecast System (GFS) operated by the National Oceanic and AtmosphericAdministration (NOAA), as well as databases maintained by the EuropeanCenter for Medium-range Weather Forecasts (ECMWF). Although the presentdisclosure is provided in the context of an embodiment where the system100 includes multiple computing devices 104 and multiple data sources106, in other embodiments the system 100 may include a single computingdevice 104 and a single data source 106. Further, although FIG. 1 showsa single aerial vehicle 102, in various embodiments the system 100includes a fleet of multiple aerial vehicles 102 that are positioned atdifferent locations throughout the atmosphere and that are configured tocommunicate with the computing devices 104, the data sources 106, and/orone another by way of the communication links 108 and/or 110.

In various embodiments, the aerial vehicle 102 may be configured toperform a variety of functions or provide a variety of services, suchas, for instance, telecommunication services (e.g., long term evolution(LTE) service), hurricane monitoring services, ship tracking services,services relating to imaging, astronomy, radar, ecology, conservation,and/or other types of functions or services. Computing devices 104control the position (also referred to as location) and/or movement ofthe aerial vehicles 102 throughout the atmosphere or beyond, tofacilitate effective and efficient performance of their functions orprovision of their services, as the case may be. As described in furtherdetail herein, the computing devices 104 are configured to obtain avariety of types of data from a variety of sources and, based on theobtained data, communicate messages to the aerial vehicle 102 to controlits position and/or movement during flight.

With continued reference to FIG. 1, the aerial vehicle 102 includes alift gas balloon 112, one or more ballonets 116, and a payload orgondola 114, which is suspended beneath the lift gas balloon 112 and/orthe ballonets 116 while the aerial vehicle 102 is in flight. Theballonets 116, as described in further detail below, are used to controlthe buoyancy, and thereby the altitude, of the aerial vehicle 102 duringflight. In some aspects, the ballonets 116 include air and the lift gasballoon 112 includes a lifting gas that is lighter than air. As shown inFIG. 1, the ballonets 116 may be positioned inside the lift gas balloon112 and/or outside the lift gas balloon 112. An altitude controller 126controls a pump and a valve (neither of which are shown in FIG. 1) topump air into the ballonets 116 (from air outside the aerial vehicle102) to increase the mass of the aerial vehicle 102 and lower itsaltitude, or to release air from the ballonets 116 (into the atmosphereoutside the aerial vehicle 102) to decrease the mass of the aerialvehicle 102 and increase its altitude. The combination of the altitudecontroller 126, the lift gas balloon 112, the ballonets 116, and thevalves and pumps (not shown in FIG. 1) may be referred to as an air-gasaltitude control system (ACS).

The aerial vehicle 102 also has one or more solar panels 134 affixedthereto. As shown in FIG. 1, the solar panels 134 may be affixed to anupper portion of the lift gas balloon 112 that absorbs sunlight, whenavailable, and generate electrical energy from the absorbed sunlight.Alternatively, or in addition, the solar panels 134 may be affixed tothe gondola 114 or elsewhere to aerial vehicle 102 (not shown in FIG.1). The solar panels 134 provide, by way of power paths such as powerpath 136, the generated electrical energy to the various components ofthe aerial vehicle 102, such as components housed within the gondola114, for utilization during flight.

The gondola 114 includes a variety of components, some of which may ormay not be included, depending upon the application and/or needs.Although not expressly shown in FIG. 1, the various components of theaerial vehicle 102 in general, and/or of the gondola 114 in particular,may be coupled to one another for communication of power, data, and/orother signals or information. The example gondola 114 shown in FIG. 1includes one or more sensors 128, an energy storage module 124, a powerplant 122, an altitude controller 126, a transceiver 132, and otheron-board equipment 130. The transceiver 132 is configured to wirelesslycommunicate data between the aerial vehicle 102 and the computingdevices 104 and/or data sources 106 by way of the wireless communicationlink 108 and/or the communication link 110, respectively.

In addition to the aforementioned components, the gondola 114 also hasaffixed or otherwise coupled to it a ballast 120. The configuration ofthe ballast 120 suspended from the center of gravity at the bottom ofthe gondola 114 shown in FIG. 1 is provided by way of example and notlimitation. Other configurations of coupling the ballast 120 to theaerial vehicle 102 are contemplated. For instance, in other embodiments,the ballast 120 may be coupled directly to the aerial vehicle 102 and/ormay be coupled to various portions of the gondola 114. Further, whileshown as a single component, the ballast 120 may be distributed intomultiple separate components coupled to various positions and/orportions of the gondola 114 and/or the aerial vehicle 102. The ballast120 may include or be composed of various materials, including smallsteel sand, other granular substances, liquids, and/or the like. Asdescribed further below, the computing devices 104 may cause the aerialvehicle 102 to decouple all or a portion of the ballast 120 duringflight. For that purpose, the ballast 120 may include a valve, door,and/or any other relevant decoupling mechanism known to those skilled inthe art.

In some embodiments, the sensors 128 include a global positioning system(GPS) sensor that senses and outputs location data, such as latitude,longitude, and/or altitude data corresponding to a latitude, longitude,and/or altitude of the aerial vehicle 102 in the Earth's atmosphere. Thesensors 128 are configured to provide the location data to the computingdevices 104 by way of the wireless transceiver 132 and the wirelesscommunication link 108 for use in controlling the aerial vehicle 102, asdescribed in further detail below.

The energy storage module 124 includes one or more batteries that storeelectrical energy provided by the solar panels 134 for use by thevarious components of the aerial vehicle 102. The power plant 122obtains electrical energy stored by the energy storage module 124 andconverts and/or conditions the electrical energy to a form suitable foruse by the various components of the aerial vehicle 102.

The altitude controller 126 is configured to control the ballonets 116to adjust the buoyancy of the aerial vehicle 102 to assist incontrolling its position and/or movement during flight. As described infurther detail below, in various embodiments the altitude controller 126is configured to control the ballonets 116 based at least in part uponan altitude command that is generated by, and received from, thecomputing devices 104 by way of the wireless communication link 108 andthe transceiver 132. In some examples, the altitude controller 126 isconfigured to implement the altitude command by causing the actuation ofthe ACS based on the altitude command.

The on-board equipment 130 may include a variety of types of equipment,depending upon the application or needs, as outlined above. For example,the on-board equipment 130 may include LTE transmitters and/orreceivers, weather sensors, imaging equipment, and/or any other suitabletype of equipment. In some embodiments, the on-board equipment mayfurther include one or more processors, controllers, or entire computingdevices similar to the computing devices 104.

Having provided an overview of the aerial vehicle control system 100 inthe context of FIG. 1, reference is now made to FIG. 2, which showscertain operations of the aerial vehicle control system 100, inaccordance with an embodiment of the present disclosure. In particular,FIG. 2 illustrates an example embodiment of how functionality andcorresponding components are allocated among the aerial vehicle 102, thecomputing devices 104, and/or the data sources 106, to control aposition and/or movement of the aerial vehicle 102. Although moredetailed aspects of how the system 100 implements control of the aerialvehicle 102 are provided below in the context of FIG. 4, FIG. 2 providesan overview of the functionality and component allocation. Thearrangement of components depicted in FIG. 2 is provided by way ofexample and not limitation. Other arrangements of components andallocations of functionality are contemplated, for instance, with theaerial vehicle 102 including components that implement functionalityshown in FIG. 2 as being implemented by the computing devices 104, orvice versa. However, in the example shown in FIG. 2, a majority of thecomponents and functionality are allocated to the computing devices 104instead of to the aerial vehicle 102, which decreases the amount ofenergy required to operate the components of the aerial vehicle 102 andthus enables the components of the aerial vehicle 102 to utilize agreater portion of the available energy than would be possible if morecomponents and functionality were allocated to the aerial vehicle 102.This increases the capabilities of the aerial vehicle 102 forimplementing functionality and/or providing services for a given amountof available energy.

In addition to certain components that were introduced above inconnection with FIG. 1, FIG. 2 shows a weather analyzer module 202, anavigation module 204, and a flight control module 206 that are includedwithin the computing devices 104. Once the aerial vehicle 102 is inflight in the atmosphere, the sensors 128 are configured to periodicallytransmit to the weather automation module 202, by way of the transceiver132 and the wireless communication link 108, location data, such astimestamped GPS positions and altitudes of the aerial vehicle 102 atcorresponding times. The weather analyzer module 202 utilizes thelocation data obtained from the sensors 128 and weather data, includingambient temperature conditions and/or predictions as well as currentand/or expected upwelling infrared energy conditions, obtained fromother data sources 106 (such as National Oceanic and AtmosphericAdministration (NOAA) data sources, European Centre for Medium-RangeWeather Forecasts (ECMWF) data sources, and/or the like) to infer orestimate the weather conditions in which the aerial vehicle 102 isflying or is expected to be flying. Weather data, including ambienttemperature conditions as well as current upwelling infrared energyconditions, may also be obtained by sensors 128 and transmitted to theweather automation module 202, by way of the transceiver 132 and thewireless communication link 108. In particular, weather data are storedin the weather analyzer module 202, which constructs a kernel function,such as a Gaussian Process kernel function that assists the navigationmodule 204 in determining how to navigate the aerial vehicle 102 basedon the inferred or estimated weather conditions, according to one ormore predetermined navigation algorithms. Examples of types ofnavigation algorithms that may be implemented by the navigation module204 are described in U.S. patent application Ser. Nos. 15/662,940,15/662,968, 15/663,000, and 15/663,030, all entitled SYSTEMS AND METHODSFOR CONTROLLING AERIAL VEHICLES, filed on Jul. 28, 2017, by Candido etal., the entire contents of each of which are incorporated herein byreference. Depending upon the navigation algorithm being implemented,the navigation module 204 generates a flight plan, which is a set oflocations (e.g., altitudes, latitude coordinates, and/or longitudecoordinates) that the aerial vehicle 102 should attempt to attain atcorresponding times. Based on the temperature and/or upwelling infraredenergy predictions, the navigation module 204 may determine adjustmentsto the flight plan, as further described below. The navigation module204 then registers the flight plan with the flight control module 206.

The flight control module 206 generates flight commands, such asaltitude commands (e.g., an altitude to which the altitude of the aerialvehicle 102 should be adjusted), and sequentially transfers each flightcommand to the altitude controller 126 for implementation according tothe corresponding times indicated in the flight plan. In particular, theflight control module 206 transmits to the transceiver 132, by way ofthe wireless communication link 108, an altitude command (for example,which may be specified as a barometric pressure, which may be equivalentto pressure altitude, and which indicates a desired altitude for theaerial vehicle 102 to maintain within some tolerance band) and/or adecouple command (for example, which may be a command to decouple all ora specified portion of the ballast 120). The altitude controller 126 isconfigured to execute an altitude loop whereby the altitude controller126 periodically receives the altitude command and/or the decouplecommand from the computing devices 104 and executes those commands tocontrol the altitude of the aerial vehicle 102.

FIG. 3 is a schematic block diagram of a computing device 300 that maybe employed in accordance with various embodiments described herein.Although not explicitly shown in FIG. 1 or FIG. 2, in some embodiments,the computing device 300, or one or more of the components thereof, mayfurther represent one or more components (e.g., the computing device104, components of the gondola 114, the data sources 106, and/or thelike) of the system 100. The computing device 300 may, in variousembodiments, include one or more memories 302, processors 304, displaydevices 306, network interfaces 308, input devices 310, and/or outputmodules 312. The memory 302 includes non-transitory computer-readablestorage media for storing data and/or software that is executable by theprocessor 304 and which controls the operation of the computing device300. In embodiments, the memory 302 may include one or more solid-statestorage devices such as flash memory chips. Alternatively, or inaddition to the one or more solid-state storage devices, the memory 302may include one or more mass storage devices connected to the processor304 through a mass storage controller (not shown in FIG. 3) and acommunications bus (not shown in FIG. 3). Although the description ofcomputer readable media included herein refers to a solid-state storage,it should be appreciated by those skilled in the art thatcomputer-readable storage media may be any available media that can beaccessed by the processor 304. That is, computer readable storage mediaincludes non-transitory, volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Examples of computer-readable storagemedia include RAM, ROM, EPROM, EEPROM, flash memory or other solid statememory technology, CD-ROM, DVD, Blu-Ray or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium which may be used to storethe desired information and which can be accessed by computing device300.

In some embodiments, the memory 302 stores data 314 and/or anapplication 316. In some aspects the application 316 includes a userinterface component 318 that, when executed by the processor 304, causesthe display device 306 to present a user interface, for example agraphical user interface (GUI) (not shown in FIG. 3). The networkinterface 308, in some embodiments, is configured to couple thecomputing device 300 and/or individual components thereof to a network,such as a wired network, a wireless network, a local area network (LAN),a wide area network (WAN), a wireless mobile network, a Bluetoothnetwork, the Internet, and/or another type of network. The input device310 may be any device by means of which a user may interact with thecomputing device 300. Examples of the input device 310 include withoutlimitation a mouse, a keyboard, a touch screen, a voice interface,and/or the like. The output module 312 may, in various embodiments,include any connectivity port or bus, such as, for example, a parallelport, a serial port, a universal serial bus (USB), or any other similarconnectivity port known to those skilled in the art.

Turning now to FIG. 4, there is shown a flowchart depicting anillustrative method 400 for controlling an aerial vehicle from theperspective of the computing devices 104 of the system 100, inaccordance with an embodiment of the present disclosure. As describedabove, the computing device 104 include various components, includingprocessors, memories, and various other modules. As will be appreciatedby those skilled in the art, the processes described below may beperformed and/or executed by a variety of these components. As such, thedescription that follows will refer to the processes being performed bythe computing devices 104, but those skilled in the art will recognizethat one or more of the above-described components of the computingdevices 104 are used by the computing devices 104 to perform and/orexecute these processes. Further, those skilled in the art willrecognize that the processes described below may be a sub-processforming part of a bigger process for controlling aerial vehicles, andthus various other processes and steps may be performed in addition tothe below-described steps and processes. While the processes describedbelow are organized into an illustrative ordered sequence of steps,those skilled in the art will appreciate that various of these steps maybe performed in a different order or sequence, repeated, and/or omittedwithout departing from the scope of the present disclosure.

A process for controlling an aerial vehicle, such as the aerial vehicle102, using ballast may start at block 402, where the computing device104 receives weather data from the data sources 106 and/or the sensors128, by way of the transceiver 132. The weather data includes apredicted current and/or future ambient temperature as well as currentand/or future upwelling infrared energy conditions, such as severe cloudcover, that the aerial vehicle 102 is expected to experience (asreceived from the data sources 106), and/or an actual temperature and/orupwelling infrared energy conditions being experienced by the aerialvehicle 102 (as received from the sensors 128). The weather data mayfurther include predictions of solar flux incident on the aerial vehicle102, as measured by the sensors 128.

At block 404, the computing devices 104 determine whether the weatherdata received at block 402, and particularly the ambient temperatureand/or upwelling infrared energy conditions included in the weatherdata, satisfies a criterion. In embodiments, the criterion may be athreshold, such as a minimum temperature and/or upwelling infraredenergy level at which the aerial vehicle 102 is able to maintain apreferred altitude. For example, the criterion may be a thresholdtemperature and/or infrared energy level corresponding to a lower end ofa range of normal temperatures and/or infrared energy levels typicallyexperienced by the aerial vehicle 102 during flight. If the computingdevices 104 determine that the weather data does not satisfy thecriterion (“NO” at block 404), processing returns to block 402 where thecomputing devices 104 receive new weather data. Alternatively, if thecomputing devices 104 determine that the weather data satisfies thecriterion (“YES” at block 404), processing proceeds to block 406.

At block 406, the computing devices 104 determine whether the aerialvehicle 102 is expected to experience zero superpressure. As notedabove, zero superpressure is a condition where the pressure that theatmospheric gas exerts on the outside of the lift gas balloon 112 and/orthe ballonets 116 of the aerial vehicle 102 is greater than or equal tothe pressure exerted by the lifting gas inside the lift gas balloon 112and/or the air inside the ballonets 116. The computing devices 104 maydetermine whether the aerial vehicle 102 is expected to experience zerosuperpressure by using various formulas such as, for example, theformula described above. For example, the computing devices 104 maycalculate a pressure of the lifting gas inside the aerial vehicle 102based on the predicted temperature and/or upwelling infrared energylevel included in the weather data received at block 402. If thecomputing devices 104 determine that the aerial vehicle 102 is notexpected to experience zero superpressure (“NO” at block 406),processing returns to block 402, where the computing devices 104 againreceive new weather data. Alternatively, if the computing devices 104determine that the aerial vehicle 102 is expected to experience zerosuperpressure (“YES” at block 406), processing proceeds to block 408.

At block 408, the computing devices 104 determine whether the aerialvehicle 102 is expected to regain superpressure. As noted above,superpressure is the condition where the pressure exerted by the liftinggas inside the lift gas balloon 112 and/or the pressure exerted by theair inside the ballonets 116 is greater than the pressure exerted by theatmospheric gas on the outside of the lift gas balloon 112 and/or theballonets 116, respectively. The computing devices 104 may determinewhether the aerial vehicle 102 is expected to regain superpressure bycomparing the pressure of the lifting gas inside the aerial vehicle 102calculated at block 406 to an ambient pressure at one or more thresholdaltitudes. Examples of threshold altitudes include sea level, relativeground level, and/or one or more altitudes above ground level, etc. Ifthe pressure calculated at block 406 is greater than the ambientpressure at the threshold altitude, the computing devices 104 maydetermine that the aerial vehicle 102 is expected to regainsuperpressure. If the computing devices 104 determine that the aerialvehicle 102 is not expected to regain superpressure (“NO” at block 408),processing proceeds to block 410, where the computing devices 104 send acommand to the aerial vehicle 102, via the communication link 108 andthe transceiver 132, to descend to the ground, whereafter processing ofthe method 400 ends. Alternatively, if the computing devices 104determine that the aerial vehicle 102 is expected to regainsuperpressure (“YES” at block 408), processing proceeds to block 412.

At block 412, the computing devices 104 determine whether an altitude towhich the aerial vehicle is expected to descend (the “descent altitude”)while experiencing zero superpressure is greater (higher) than athreshold altitude. The computing devices 104 may first determine thedescent altitude by using various formulas such as, for example, theformula described above. For example, the computing devices 104 maycalculate an altitude at which the pressure of the lifting gas insidethe lift gas balloon 112 and/or the air inside the ballonets 116 willagain be greater than the pressure exerted by the atmospheric gas on theoutside of the lift gas balloon 112 and/or the ballonets 116,respectively. The computing devices 104 may then compare the descentaltitude to the threshold altitude. The threshold altitude may be apredetermined lower limit altitude at which the aerial vehicle 102 maysafely operate. For example, the threshold altitude may be 60,000 feetabove sea level, which is the upper limit of controlled airspace forcommercial aircraft. If the computing devices 104 determine that thedescent altitude is greater (higher) than the threshold altitude (“YES”at block 412), processing returns to block 402, where the computingdevices 104 again receive new weather data. Alternatively, if thecomputing devices 104 determine that the descent altitude is not greater(that is, if the descent altitude is lower) than the threshold altitude(“NO” at block 412), processing proceeds to block 414.

At block 414, the computing devices 104 determine whether the aerialvehicle 102 is expected to be able to remain afloat at a safe altitudeby using only the ACS. In embodiments, the safe altitude may be anyaltitude that is higher than the threshold altitude. The computingdevices 104 may determine whether the aerial vehicle 102 is able toremain afloat at the safe altitude using only the ACS by using variousformulas such as, for example, the ideal gas law formula describedabove. For example, the computing devices 104 may calculate an amount oflifting gas necessary for the aerial vehicle 102 to float at the safealtitude. The computing devices 104 may then calculate a differencebetween the amount of lifting gas necessary to float at the safealtitude and the amount of lifting gas currently inside the aerialvehicle. Thereafter, the computing devices 104 may determine whether theaerial vehicle 102, using the ACS, is expected to be able to pump anamount of air corresponding to the determined difference into theballonets 116 before a time at which the aerial vehicle 102 is expectedto descend below the threshold altitude, and thus keep the aerialvehicle 102 afloat at a safe altitude. If the computing devices 104determine that the aerial vehicle 102 is expected to be able to remainafloat at a safe altitude using only the ACS (“YES” at block 414),processing proceeds to block 416. Alternatively, if the computingdevices 104 determine that the aerial vehicle 102 is not expected to beable to remain afloat at a safe altitude using only the ACS (“NO” atblock 414), processing proceeds to block 418.

At block 416, the computing devices 104 send a command, via thecommunication link 108 and the transceiver 132, to the altitudecontroller 126 of the aerial vehicle 102 to adjust the altitude of theaerial vehicle 102 using the ACS. In embodiments, the command mayinclude a pressure to which the pressure of the lifting gas inside theaerial vehicle 102 should be increased. Additionally or alternatively,the command may include an amount of gas (e.g., air) which the ACSshould pump into the ballonets 116 regardless of the pressure currentlyexerted by the lifting gas because that pressure is expected to decreaseas the temperature of the air inside the ballonets 116 and/or thelifting gas inside the lifting gas balloon 112 decreases. In otherembodiments, the computing devices 104 may not send a command at all,and instead the altitude controller 126 of the aerial vehicle 102 maydetermine to pump air into the ballonets 116 as the pressure of the airinside the ballonets 116 and/or the lifting gas inside the lifting gasballoon 112 starts to decrease as the temperature of the air inside theballonets 116 and/or the lifting gas inside the lifting gas balloon 112decreases. In some embodiments, the computing devices 104 may wait apredetermined or dynamically determined period of time before sendingthe command. Thereafter, processing proceeds to block 432.

At block 418, the computing devices 104 determine an amount of theballast 120 that is coupled to the aerial vehicle 102. The determinationmay be based on a weight of the ballast 120 and/or a record of how muchballast was coupled to the aerial vehicle 102 at launch and how much ofthe ballast 120 has been previously decoupled during the flight of theaerial vehicle 102. Thereafter, processing proceeds to block 420.

At block 420, the computing devices 120 determine whether the aerialvehicle 102 is expected to be able to remain afloat at a safe altitudeby using the ACS and by decoupling at least a portion of the ballast120. The computing devices 104 may determine whether the aerial vehicle102 is able to remain afloat at the safe altitude using the ACSdecoupling a portion of the ballast 120 by using various formulas suchas, for example, the formula described above. For example, the computingdevices 104 may first determine how much of the ballast 120 can bedecoupled before a time at which the aerial vehicle 102 is expected todescend below the threshold altitude, and may then determine adifference between the pressure of the lifting gas inside the aerialvehicle 102 with the ballast 120 unchanged and the expected pressure ofthe lifting gas inside the aerial vehicle 102 with the ballast 120decoupled. For example, each kilogram (kg) of the ballast 120 decoupledmay increase the pressure of the lifting gas inside the aerial vehicle102 by an amount approximately equal to the pressure added by pumping anadditional 40 moles of air into the ballonets 116. The computing devices104 may then determine whether the expected increase in pressure of thelifting gas inside the aerial vehicle 102 resulting from decoupling theballast 120, in combination with the amount of air the aerial vehicle102, using the ACS, is expected to be able to pump into the ballonets116 before a time at which the aerial vehicle 102 is expected to descendbelow the threshold altitude, as determined at block 414, is expected tokeep the aerial vehicle 102 afloat at a safe altitude. If the computingdevices 104 determine that the aerial vehicle 102 is expected to be ableto remain afloat at a safe altitude using the ACS and by decoupling atleast a portion of the ballast 120 (“YES” at block 420), processingproceeds to block 422. Alternatively, if the computing devices 104determine that the aerial vehicle 102 is not expected to be able toremain afloat at a safe altitude using the ACS and by decoupling theballast 120 (“NO” at block 420), processing proceeds to block 410.

At block 422, the computing devices 104 determine a portion of theballast 120 to decouple. In embodiments, the computing devices 104 maydetermine a minimum portion or amount of the ballast 120 to decouplewhich, in combination with the amount of air expected to be pumped intothe ballonets 116 by the ACS, is expected to keep the aerial vehicle 102afloat at a safe altitude.

Thereafter, at block 424, the computing devices 104 send a command, viathe communication link 108 and the transceiver 132, to the altitudecontroller 126 of the aerial vehicle 102 to adjust the altitude of theaerial vehicle 102 using the ACS. The command may be similar to thecommand described above with reference to block 416. And similar toblock 416, in some embodiments, the computing devices 104 may not send acommand at all, and instead the altitude controller 126 of the aerialvehicle 102 may determine to pump air into the ballonets 116 as thepressure of the lifting gas inside the balloon starts to decrease as thetemperature of the air inside the ballonets 116 and/or the lifting gasinside the lift gas balloon 112 decreases. In some embodiments, thecomputing devices 104 may wait a predetermined or dynamically determinedperiod of time before sending the command. Thereafter, processingproceeds to block 426.

At block 426, the computing devices 104 determine whether it is time todecouple the portion of the ballast 120 determined at block 422. Inembodiments, the computing devices 104 may be configured to delaydecoupling of the portion of the ballast 120 for a period of time. Forexample, the computing devices 104 may delay decoupling the portion ofthe ballast 120 until a time whereafter decoupling of the portion of theballast 120 will no longer be sufficient to keep the aerial vehicleafloat at a safe altitude. If the computing devices 104 determine thatit is not time to decouple the portion of the ballast 120 (“NO” at block426), processing proceeds to block 428. Alternatively, if the computingdevices 104 determine that it is time to decouple the portion of theballast 120 (“YES” at block 426), processing proceeds to block 430.

At block 428, the computing devices 104 receive new weather data anddetermine whether the new weather data satisfies the criterion. The newweather data may be received from the data sources 106 and may reflectupdated weather predictions. Additionally or alternatively, the weatherdata may be received from the sensors 128, for example temperaturesensors and/or infrared energy sensors, coupled to the aerial vehicle102, and may reflect a current ambient temperature and/or amount ofupwelling infrared energy experienced by the aerial vehicle 102. Thedetermination may be similar to the determination described above withreference to block 404. If the computing devices 104 determine that thenew weather data satisfies the criterion (“YES” at block 428),processing returns to block 426, where the computing devices 104 againdetermine whether it is time to decouple the portion of the ballast 120.Alternatively, if the computing devices 104 determine that the newweather data does not satisfy the criterion (“NO” at block 428),processing returns to block 402.

At block 430, the computing devices 104 send a command, via thecommunication link 108 and the transceiver 132, to the altitudecontroller 126 of the aerial vehicle 102 to decouple the portion of theballast 120 determined at block 422. Thereafter, processing proceeds toblock 432.

At block 432, the computing devices 104 determine whether the aerialvehicle 102 is floating at a safe altitude. For example, the computingdevices 104 may determine whether the pressure of the lifting gas insidethe aerial vehicle 102 corresponds to an ambient pressure at a safealtitude. If the computing devices 104 determine that the aerial vehicle102 is floating at a safe altitude (“YES” at block 432), processingproceeds to block 434. Alternatively, if the computing devices 104determine that the aerial vehicle 102 is not floating at a safe altitude(“NO” at block 432), processing proceeds to block 436.

At block 434, the computing devices 104 again receive new weather dataand determine whether the new weather data satisfies the criterion.Similar to block 428, the new weather data may be received from the datasources 106 and may reflect updated weather predictions. Additionally oralternatively, the weather data may be received from the sensors 128,for example temperature sensors and/or infrared energy sensors, coupledto the aerial vehicle 102, and may reflect a current ambient temperatureand/or amount of upwelling infrared energy experienced by the aerialvehicle 102. The determination may be similar to the determinationdescribed above with reference to block 404. If the computing devices104 determine that the new weather data does not satisfy the criterion(“NO” at block 434), processing returns to block 402. Alternatively, ifthe computing devices 104 determine that the new weather data satisfiesthe criterion (“YES” at block 434), processing returns to block 432.

At block 436, the computing devices 104 determine whether at least aportion of the ballast 120 remains coupled to the aerial vehicle. If thecomputing devices 104 determine that at least a portion of the ballast120 remains coupled to the aerial vehicle 102 (“YES” at block 436),processing returns to block 422. Alternatively, if the computing devices104 determine that none of the ballast 120 remains coupled to the aerialvehicle 102, processing proceeds to block 410.

FIG. 5 is a flowchart showing an illustrative method 500 for controllingan aerial vehicle, from the perspective of the aerial vehicle 102, inaccordance with an embodiment of the present disclosure. As describedabove with reference to FIG. 4, those skilled in the art will recognizethat the processes described below may be a sub-process forming part ofa bigger process for controlling aerial vehicles, and thus various otherprocesses and steps may be performed in addition to the below-describedsteps and processes. While the processes described below are organizedinto an illustrative ordered sequence of steps, those skilled in the artwill appreciate that various of these steps may be performed in adifferent order or sequence, repeated, and/or omitted without departingfrom the scope of the present disclosure.

At block 502, the aerial vehicle 102 receives, by way of the wirelesscommunication link 108 and the transceiver 132, navigation data from theflight control module 206 of the computing device 104. The aerialvehicle 102 periodically receives multiple transmissions of navigationdata from the computing device 104, as described above. The navigationdata may include a target altitude.

At block 504, the altitude controller 126 determines whether the aerialvehicle 102 is floating at the target altitude. In embodiments, thealtitude controller 126 obtains from the sensors 128 location data,including altitude data, indicating a current altitude, of the aerialvehicle 102. As described above, the altitude of the aerial vehicle 102may correspond to, and thus be determined based on, a pressure of thelifting gas inside the aerial vehicle 102. As such, in some embodiments,the altitude controller 126 may receive data from the sensors 128indicating the pressure of the lifting gas inside the aerial vehicle102, and may determine the altitude of the aerial vehicle 102 based onthe pressure data. If the altitude controller 126 determines that theaerial vehicle 102 is floating at the target altitude (“YES” at block504), processing proceeds to block 512. Alternatively, if the altitudecontroller 126 determines that the aerial vehicle 102 is not floating atthe target altitude (“NO” at block 504), processing proceeds to block506.

At block 506, the altitude controller 126 determines whether the aerialvehicle 102 should end its flight and descend to the ground. Forexample, the altitude controller 126 may determine whether the aerialvehicle 102 has reached the end of its flight, or is unable to maintainthe target altitude. If the altitude controller 126 determines that theaerial vehicle 102 should end its flight (“YES” at block 506),processing ends and a controlled descent is initiated in the mannerdescribed above. Alternatively, if the altitude controller 126 does notdetermine that the aerial vehicle 102 should end its flight (“NO” atblock 506), processing proceeds to block 508.

At block 508, the altitude controller 126 determines whether the aerialvehicle 102 can attain the target altitude received at block 502 byadjusting (for example by pumping air into or out of) the ballonets 116.If the altitude controller 126 determines that the aerial vehicle 102can attain the target altitude by adjusting the amount of air in theballonets 116 (“YES” at block 508), processing proceeds to block 510.Alternatively, if the altitude controller 126 determines that the aerialvehicle 102 cannot attain the target altitude by adjusting the amount ofair in the ballonets 116 (“NO” at block 504), processing proceeds toblock 520.

At block 510, the altitude controller 126 operates the pump and/or valvecoupled to the ballonets 116 to adjust the amount of air in theballonets 116. Thereafter, processing returns to block 504.

At block 512, the aerial vehicle 102, via the transceiver 132 and thecommunication link 108, sends position data, including altitude data, tothe computing devices 104. Thereafter, at block 514, the altitudecontroller 126 determines whether the aerial vehicle 102 should end itsflight and descend to the ground. For example, the altitude controller126 may determine whether the aerial vehicle 102 has reached the end ofits flight. If the altitude controller 126 determines that the aerialvehicle 102 should end its flight (“YES” at block 514), processing ends.Alternatively, if the altitude controller 126 does not determine thatthe aerial vehicle 102 should end its flight (“NO” at block 514),processing proceeds to block 516.

At block 516, the altitude controller 126 determines whether the aerialvehicle 102 has received a new command to adjust its altitude. If thealtitude controller 126 determines that the aerial vehicle 102 hasreceived a new command to adjust its altitude (“YES” at block 516),processing returns to block 502. Alternatively, if the altitudecontroller 126 determines that the aerial vehicle 102 has not received anew command to adjust its altitude (“NO” at block 516), processingproceeds to block 518.

At block 518, the altitude controller 126 determines whether the aerialvehicle 102 has received a command to adjust the amount of air in theballonets 116. If the altitude controller 126 determines that the aerialvehicle 102 has received a command to adjust the amount of air in theballonets 116 (“YES” at block 518), processing proceeds to block 510.Alternatively, if the altitude controller 126 determines that the aerialvehicle 102 has not received a command to adjust the amount of air inthe ballonets 116 (“NO” at block 518), processing proceeds to block 520.

At block 520, the altitude controller 126 determines whether the aerialvehicle 102 has received a command to decouple a portion of the ballast120. If the altitude controller 126 determines that the aerial vehicle102 has received a command to decouple a portion of the ballast 120(“YES” at block 520), processing proceeds to block 522 where thealtitude controller 126 operates a valve, door, or other decouplingmechanism, to decouple the portion of the ballast 120. Thereafter, or ifthe altitude controller 126 determines that the aerial vehicle 102 hasnot received a command to decouple a portion of the ballast 120 (“NO” atblock 520), processing returns to block 504.

As can be appreciated in view of the present disclosure, the systems andmethods described herein provide advancements in aerial vehicle pressuredifferential management that enable aerial vehicles to be more resilientand withstand adverse weather conditions, thereby increasing theirusable lifetime. The embodiments disclosed herein are examples of thepresent systems and methods and may be embodied in various forms. Forinstance, although certain embodiments herein are described as separateembodiments, each of the embodiments herein may be combined with one ormore of the other embodiments herein. Specific structural and functionaldetails disclosed herein are not to be interpreted as limiting, but as abasis for the claims and as a representative basis for teaching oneskilled in the art to variously employ the present information systemsin virtually any appropriately detailed structure. Like referencenumerals may refer to similar or identical elements throughout thedescription of the figures.

The phrases “in an embodiment,” “in embodiments,” “in some embodiments,”or “in other embodiments” may each refer to one or more of the same ordifferent embodiments in accordance with the present disclosure. Aphrase in the form “A or B” means “(A), (B), or (A and B).” A phrase inthe form “at least one of A, B, or C” means “(A); (B); (C); (A and B);(A and C); (B and C); or (A, B, and C).”

The systems and/or methods described herein may utilize one or morecontrollers to receive various information and transform the receivedinformation to generate an output. The controller may include any typeof computing device, computational circuit, or any type of processor orprocessing circuit capable of executing a series of instructions thatare stored in a memory. The controller may include multiple processorsand/or multicore central processing units (CPUs) and may include anytype of processor, such as a microprocessor, digital signal processor,microcontroller, programmable logic device (PLD), field programmablegate array (FPGA), or the like. The controller may also include a memoryto store data and/or instructions that, when executed by the one or moreprocessors, causes the one or more processors to perform one or moremethods and/or algorithms. In example embodiments that employ acombination of multiple controllers and/or multiple memories, eachfunction of the systems and/or methods described herein can be allocatedto and executed by any combination of the controllers and memories.

Any of the herein described methods, programs, algorithms or codes maybe converted to, or expressed in, a programming language or computerprogram. The terms “programming language” and “computer program,” asused herein, each include any language used to specify instructions to acomputer, and include (but is not limited to) the following languagesand their derivatives: Assembler, Basic, Batch files, BCPL, C, C+, C++,Delphi, Fortran, Java, JavaScript, machine code, operating systemcommand languages, Pascal, Perl, PL1, scripting languages, Visual Basic,metalanguages which themselves specify programs, and all first, second,third, fourth, fifth, or further generation computer languages. Alsoincluded are database and other data schemas, and any othermeta-languages. No distinction is made between languages which areinterpreted, compiled, or use both compiled and interpreted approaches.No distinction is made between compiled and source versions of aprogram. Thus, reference to a program, where the programming languagecould exist in more than one state (such as source, compiled, object, orlinked) is a reference to any and all such states. Reference to aprogram may encompass the actual instructions and/or the intent of thoseinstructions.

Any of the herein described methods, programs, algorithms or codes maybe contained on one or more non-transitory computer-readable ormachine-readable media or memory. The term “memory” may include amechanism that provides (in an example, stores and/or transmits)information in a form readable by a machine such a processor, computer,or a digital processing device. For example, a memory may include a readonly memory (ROM), random access memory (RAM), magnetic disk storagemedia, optical storage media, flash memory devices, or any othervolatile or non-volatile memory storage device. Code or instructionscontained thereon can be represented by carrier wave signals, infraredsignals, digital signals, and by other like signals.

The foregoing description is only illustrative of the present systemsand methods. Various alternatives and modifications can be devised bythose skilled in the art without departing from the disclosure.Accordingly, the present disclosure is intended to embrace all suchalternatives, modifications and variances. The embodiments describedwith reference to the attached drawing figures are presented only todemonstrate certain examples of the disclosure. Other elements, steps,methods, and techniques that are insubstantially different from thosedescribed above and/or in the appended claims are also intended to bewithin the scope of the disclosure.

What is claimed is:
 1. A system for controlling an aerial vehicle, thesystem comprising: an aerial vehicle; a ballast coupled to the aerialvehicle; and a server communicatively coupled to the aerial vehicle bymeans of a wireless communication link, the server including a processorand a memory storing instructions which, when executed by the processor,cause the server to: receive weather data comprising one or both of acurrent and predicted future weather condition, determine that an aspectof the weather data satisfies a predetermined criterion, and cause theaerial vehicle to decouple at least a portion of the ballast based onthe determination that the aspect of the weather data satisfies thepredetermined criterion.
 2. The system according to claim 1, wherein thedetermining that the aspect of the weather data satisfies thepredetermined criterion includes determining that a temperature metricincluded in the weather data is below a predetermined threshold.
 3. Thesystem according to claim 2, wherein the instructions, when executed bythe processor, further cause the server to determine the portion of theballast to decouple based on an amount by which the temperature metricis below the predetermined threshold.
 4. The system according to claim3, wherein the determining of the portion of the ballast to decouple isfurther based on an altitude of the aerial vehicle.
 5. The systemaccording to claim 2, wherein the predetermined threshold is based on analtitude of the aerial vehicle and an amount of gas inside the aerialvehicle.
 6. The system according to claim 1, wherein the determiningthat the aspect of the weather data satisfies the predeterminedcriterion includes determining that a temperature of gas inside theaerial vehicle is expected to cause the aerial vehicle to experiencezero superpressure.
 7. The system according to claim 6, whereindetermining that the temperature of gas inside the aerial vehicle isexpected to cause the aerial vehicle to experience zero superpressureincludes determining that a level of infrared radiation experienced atan altitude of the aerial vehicle is expected to cause a temperature ofthe gas inside the aerial vehicle to drop below a predeterminedthreshold.
 8. The system according to claim 7, wherein the predeterminedthreshold is determined based on an amount of gas inside the aerialvehicle.
 9. The system according to claim 7, wherein the instructions,when executed by the processor, further cause the server to determinethe portion of the ballast to decouple based on an amount of gas insidethe aerial vehicle.
 10. The system according to claim 9, wherein thedetermining of the portion of the ballast to decouple is further basedon the altitude of the aerial vehicle.
 11. The system according to claim6, wherein the instructions, when executed by the processor, furthercause the server to determine whether the aerial vehicle is expected torecover from experiencing zero superpressure.
 12. The system accordingto claim 11, wherein the instructions, when executed by the processor,further cause the server to determine an altitude to which the aerialvehicle is expected to descend while the aerial vehicle experiences zerosuperpressure.
 13. The system according to claim 12, wherein theinstructions, when executed by the processor, further cause the serverto determine whether the altitude to which the aerial vehicle isexpected to descend while the aerial vehicle experiences zerosuperpressure is above a minimum altitude.
 14. The system according toclaim 13, wherein the instructions, when executed by the processor,further cause the server to cause the aerial vehicle to descend to theground prior to experiencing zero superpressure in response to adetermination that the altitude to which the aerial vehicle is expectedto descend while the aerial vehicle experiences zero superpressure isnot above the minimum altitude.
 15. The system according to claim 1,wherein the weather data is received from an external source.
 16. Thesystem according to claim 1, wherein the weather data is received from asensor coupled to the aerial vehicle.
 17. The system according to claim1, wherein the aerial vehicle includes a balloon.
 18. The systemaccording to claim 1, wherein the ballast is composed of a granularsubstance.
 19. A method for controlling an aerial vehicle, the methodcomprising: receiving, by a server, weather data comprising one or bothof a current and predicted future weather condition; determining, by theserver, that an aspect of the weather data satisfies a predeterminedcriterion; and causing, by the server and a wireless communication linkcommunicatively coupling the server to the aerial vehicle, the aerialvehicle to decouple at least a portion of a ballast coupled to theaerial vehicle based on the determination that the aspect of the weatherdata satisfies the predetermined criterion.
 20. A non-transitorycomputer-readable storage medium storing instructions which, whenexecuted by a processor, cause a computing device to: receive weatherdata comprising one or both of a current and predicted future weathercondition; determine that an aspect of the weather data satisfies apredetermined criterion; and cause the aerial vehicle to decouple atleast a portion of a ballast coupled to the aerial vehicle based on thedetermination that the aspect of the weather data satisfies thepredetermined criterion.